package com.yqiang.smscodedemo.controller;

import com.yqiang.smscodedemo.domain.dto.BooleanResDTO;
import com.yqiang.smscodedemo.domain.dto.SmsCodeSendReqDTO;
import com.yqiang.smscodedemo.service.ISmsCodeService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
/**
 * 短信验证码控制器类
 * 提供短信验证码发送和验证的接口
 */
@RestController
@RequestMapping("/sms-code")
public class SmsCodeController {

    // 注入短信验证码服务接口
    @Resource
    private ISmsCodeService smsCodeService;

    /**
     * 发送短信验证码
     *
     * @param smsCodeSendReqDTO 包含发送短信验证码请求信息的数据传输对象
     */
    @PostMapping("/send")
    public void smsCodeSend(@RequestBody SmsCodeSendReqDTO smsCodeSendReqDTO) {
        smsCodeService.smsCodeSend(smsCodeSendReqDTO);
    }

    /**
     * 验证短信验证码
     *
     * @param phone 用户手机号
     * @param businessType 业务类型
     * @param verifyCode 验证码
     * @return 返回验证结果，true表示验证成功，false表示验证失败
     */
    @GetMapping("/verify")
    public BooleanResDTO verify(@RequestParam("phone") String phone,
                                @RequestParam("businessType") String businessType,
                                @RequestParam("verifyCode") String verifyCode){
        return new BooleanResDTO(smsCodeService.verify(phone,businessType,verifyCode));
    }
}

